﻿using System;
using System.Windows.Forms;
using ComputerVision.BaseForm;
using ComputerVision.Common;
using System.Web.Security;

namespace ComputerVision
{
    public partial class frmLogin : frmObject
    {
        private static frmLogin _Instance;

        public frmLogin()
        {
            InitializeComponent();
        }

        public static frmLogin GetInstance()
        {
            if (_Instance == null)
            {
                _Instance = new frmLogin();
            }
            return _Instance;
        }

        /// <summary>
        /// Check Control
        /// </summary>
        /// <returns></returns>
        private bool Validation()
        {
            var isValid = true;
           
            if (string.IsNullOrEmpty(txtUsername.Text))
            {
                errorProvider.SetError(this.txtUsername, "Tên đăng nhập không được để trống");
                isValid = false;
            }
            if (string.IsNullOrEmpty(txtPassword.Text))
            {
                errorProvider.SetError(this.txtPassword, "Mật khẩu không được để trống");
                isValid = false;
            }

            return isValid;
        }
        
        private void btnThoat_Click(object sender, EventArgs e)
        {
            try
            {
                Application.Exit();
            }
            catch (Exception ex)
            {
                AlertList.Error(ex.Message);
            }
        }

        private void Login(object sender, EventArgs e)
        {
            try
            {
                var isLogin = Membership.ValidateUser(txtUsername.Text.Trim(), txtPassword.Text.Trim());
                if (isLogin)
                {
                    Constants.CurrentUser = txtUsername.Text.Trim();
                    var frm = new frmMain();
                    frm.Show();
                    Hide();
                }
                else
                {
                    errorProvider.SetError(txtUsername, "Sai thông tin đăng nhập.");
                }
            }
            catch (Exception ex)
            {
                AlertList.Error("Có lỗi phát sinh trong quá trình đăng nhập.");
            }
            
        }

        private void frmDangNhap_FormClosed(object sender, FormClosedEventArgs e)
        {
            foreach (Form openForm in Application.OpenForms)
            {
                openForm.Close();
            }
            Application.Exit();
        }
    }
}